package com.azzcs.v2.offer61;

/**
 * 从若干副扑克牌中随机抽 5 张牌，判断是不是一个顺子，即这5张牌是不是连续的。2～10为数字本身，
 * A为1，J为11，Q为12，K为13，而大、小王为 0 ，可以看成任意数字。A 不能视为 14。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 *
 * @Author: azzcs
 * @Date: 2021/10/8 上午10:11
 */
public class Solution {
    public boolean isStraight(int[] nums) {
        int max = 0;
        int min = 14;
        int[] ints = new int[14];
        for (int num : nums) {
            ints[num]++;
            // 表示 王
            if(num == 0){
                continue;
            }
            if (ints[num] > 1) {
                return false;
            }
            if (num > max) {
                max = num;
            }
            if (num < min) {
                min = num;
            }
        }
        if(max - min >= 4 - ints[0] && max - min <= 4 + ints[0]){
            return true;
        }
        return false;

    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        int[] ints = new int[]{1, 2, 3, 4, 5};
        System.out.println(solution.isStraight(ints));
        ints = new int[]{0, 0, 1, 2, 5};
        System.out.println(solution.isStraight(ints));
    }
}
